from typing_extensions import TypedDict


# 定义状态结构
class CypherState(TypedDict):
    user_question: str  # 用户问题
    scenario: int  # 业务code
    selectSchema: str  # 挑选的schema
    sampleReason: str  # 业务和采样思路
    sampleCypher: list | None  # 采样语句

    emptyReason: list | None  # 空数据原因分析

    cypher: str  # 正式语句
    reason: str  # 分析思路
    query_result: list | None  # 查询结果
    error: str | None  # 报错
    retry_count: int  # 重试次数
    max_retries: int  # 最大重试次数
    interpretation: str | None  # 最大重试次数

    parallel_count: int  # 并行处理数量

    preCypher: list | None  # 历史语句
    preCypherResult: list | None  # 历史结果
